草庐IT

c++ - XML Schema 到 C++ 类

全部标签

c++ - static_cast 和 reinterpret_cast 有什么区别?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Whenshouldstatic_cast,dynamic_castandreinterpret_castbeused?我在c++中使用c函数,其中在c中作为void类型参数传递的结构直接存储相同的结构类型。例如在C中。voidgetdata(void*data){Testitem*ti=data;//Testitemisofstructtype.}为了在c++中做同样的事情,我使用static_cast:voidfoo::getdata(void*data){Testitem*ti=static_cast(

c++ - static_cast 和 reinterpret_cast 有什么区别?

这个问题在这里已经有了答案:关闭11年前.PossibleDuplicate:Whenshouldstatic_cast,dynamic_castandreinterpret_castbeused?我在c++中使用c函数,其中在c中作为void类型参数传递的结构直接存储相同的结构类型。例如在C中。voidgetdata(void*data){Testitem*ti=data;//Testitemisofstructtype.}为了在c++中做同样的事情,我使用static_cast:voidfoo::getdata(void*data){Testitem*ti=static_cast(

c++ - 为什么像/* */need '<' 这样的 C 注释?

我的团队C代码指南写道,最好在评论中放置一个“#defineMAX_PACK_ITEM_NUM50/**我想知道,这个' 最佳答案 这是doxygen为文件/结构/union/类/枚举的成员生成文档的一种方式。通过使用该标记,您可以在每个成员之后添加评论,从而减少困惑。您可以阅读更多信息here. 关于c++-为什么像/**/need' https://stackoverflow.com/questions/7329566/

c++ - 为什么像/* */need '<' 这样的 C 注释?

我的团队C代码指南写道,最好在评论中放置一个“#defineMAX_PACK_ITEM_NUM50/**我想知道,这个' 最佳答案 这是doxygen为文件/结构/union/类/枚举的成员生成文档的一种方式。通过使用该标记,您可以在每个成员之后添加评论,从而减少困惑。您可以阅读更多信息here. 关于c++-为什么像/**/need' https://stackoverflow.com/questions/7329566/

c++ - C 与 C++ 编译不兼容 - 未命名类型

我正在尝试将供应商的库与我的C++应用程序结合使用。该库主要基于C,这通常不是extern"C"选项的问题,但我遇到了C++编译器不接受的问题。我将代码简化为以下示例文件。header.h代表来自suppier库的头文件,main.c/cpp是我自己的文件。我真正的应用程序是一个C++应用程序,所以我想让它与main.cpp一起工作。header.h(注意u64u64;行):#ifndefHEADER_H#defineHEADER_H#includetypedefuint64_tu64;unionteststruct{u64u64;struct{u64x:32;u64y:32;}s;}

c++ - C 与 C++ 编译不兼容 - 未命名类型

我正在尝试将供应商的库与我的C++应用程序结合使用。该库主要基于C,这通常不是extern"C"选项的问题,但我遇到了C++编译器不接受的问题。我将代码简化为以下示例文件。header.h代表来自suppier库的头文件,main.c/cpp是我自己的文件。我真正的应用程序是一个C++应用程序,所以我想让它与main.cpp一起工作。header.h(注意u64u64;行):#ifndefHEADER_H#defineHEADER_H#includetypedefuint64_tu64;unionteststruct{u64u64;struct{u64x:32;u64y:32;}s;}

c++ - C中的静态和C++中的静态之间的区别??

C和C++中的static关键字有什么区别? 最佳答案 static关键字在C和C++中的用途相同。在文件级别(函数外部)使用时,它设置应用它的项目的可见性。静态项在其编译单元之外不可见(例如,对于链接器)。其时长与节目时长相同。这些文件级项目(函数和数据)应该是静态的,除非有特殊需要从外部访问它们(并且几乎从不需要直接访问数据,因为这破坏了封装的核心原则)。如果(正如您对问题的评论所示)这是您所关心的static的唯一用途,那么,不,C和C++之间没有区别。在函数中使用时,它设置项目的持续时间。同样,持续时间与程序相同,并且该项目

c++ - C中的静态和C++中的静态之间的区别??

C和C++中的static关键字有什么区别? 最佳答案 static关键字在C和C++中的用途相同。在文件级别(函数外部)使用时,它设置应用它的项目的可见性。静态项在其编译单元之外不可见(例如,对于链接器)。其时长与节目时长相同。这些文件级项目(函数和数据)应该是静态的,除非有特殊需要从外部访问它们(并且几乎从不需要直接访问数据,因为这破坏了封装的核心原则)。如果(正如您对问题的评论所示)这是您所关心的static的唯一用途,那么,不,C和C++之间没有区别。在函数中使用时,它设置项目的持续时间。同样,持续时间与程序相同,并且该项目

c++ - 为什么将全局变量和静态变量初始化为其默认值?

在C/C++中,为什么将全局变量和静态变量初始化为默认值?为什么不留下垃圾值呢?有没有什么特别的这是什么原因? 最佳答案 安全性:不理会内存会泄漏来自其他进程或内核的信息。效率:这些值在初始化之前是无用的,并且在具有展开循环的block中将它们归零更有效。操作系统甚至可以在系统空闲时将空闲列表页面归零,而不是在某些客户端或用户等待程序启动时。可重复性:不考虑值会使程序行为不可重复,从而很难找到错误。优雅:如果程序可以从0开始,而无需使用默认初始化程序将代码弄乱,那就更简洁了。然后有人可能会想,为什么auto存储类确实开始时是垃圾。答

c++ - 为什么将全局变量和静态变量初始化为其默认值?

在C/C++中,为什么将全局变量和静态变量初始化为默认值?为什么不留下垃圾值呢?有没有什么特别的这是什么原因? 最佳答案 安全性:不理会内存会泄漏来自其他进程或内核的信息。效率:这些值在初始化之前是无用的,并且在具有展开循环的block中将它们归零更有效。操作系统甚至可以在系统空闲时将空闲列表页面归零,而不是在某些客户端或用户等待程序启动时。可重复性:不考虑值会使程序行为不可重复,从而很难找到错误。优雅:如果程序可以从0开始,而无需使用默认初始化程序将代码弄乱,那就更简洁了。然后有人可能会想,为什么auto存储类确实开始时是垃圾。答